]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dateMenu: Format weather forecast times without AM/PM
authorPhilip Chimento <philip@endlessm.com>
Tue, 19 Nov 2019 21:15:34 +0000 (13:15 -0800)
committerPhilip Chimento <philip@endlessm.com>
Wed, 20 Nov 2019 21:08:06 +0000 (13:08 -0800)
If the clock is set to 12h, the AM/PM in the weather forecast times
should be clear from the context, because they are the immediately
following hours. This makes it less likely that the times will be
ellipsized (in which case the AM/PM wouldn't be shown anyway.)

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/835

js/misc/util.js
js/ui/dateMenu.js

index b7ee0179821eb6930bd15a1e8622a5441a1425be..b2c46a79a0b6e240bc0a7bcb27c3826fb216f3c2 100644 (file)
@@ -217,7 +217,10 @@ function formatTime(time, params) {
         _desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
     let clockFormat = _desktopSettings.get_string('clock-format');
 
-    params = Params.parse(params, { timeOnly: false });
+    params = Params.parse(params, {
+        timeOnly: false,
+        ampm: true,
+    });
 
     if (clockFormat == '24h') {
         // Show only the time if date is on today
@@ -279,6 +282,11 @@ function formatTime(time, params) {
             format = N_("%B %-d %Y, %l\u2236%M %p");
     }
 
+    // Time in short 12h format, without the equivalent of "AM" or "PM"; used
+    // when it is clear from the context
+    if (!params.ampm)
+        format = format.replace(/\s*%p/g, '');
+
     let formattedTime = date.format(Shell.util_translate_time_string(format));
     // prepend LTR-mark to colon/ratio to force a text direction on times
     return formattedTime.replace(/([:\u2236])/g, '\u200e$1');
index e506dbc49e9ff8883cc5e458a70402289d5dfb81..51413c5660812273722ab897eb7046ecec3ee278 100644 (file)
@@ -336,6 +336,7 @@ class WeatherSection extends St.Button {
             let [ok_, timestamp] = fc.get_value_update();
             let timeStr = Util.formatTime(new Date(timestamp * 1000), {
                 timeOnly: true,
+                ampm: false,
             });
 
             let icon = new St.Icon({ style_class: 'weather-forecast-icon',